//一个http的方法
//第零个事请求方法 第一个是路径  第二个是参数 第三个是请求数据
async function hp(qq, lj, cs = '', cg = 200) {
    const method = qq;
    const { data: res } = await this.$http[method](lj, cs)
    if (res.meta.status !== cg) return this.$message.error('操作失败')

    //返回数据
    return res.data
}
async function gethp(qq, lj, cs = '', cg = 200) {
    const method = qq;
    const { data: res } = await this.$http[method](lj, cs)
    if (res.meta.status !== cg) return this.$message.error('操作失败')
    this.$message.success('操作成功')
    //返回数据
    return res.data
}
//表单预验证   第一个参数 是from表单中的ref属性值 (这是个失败品,原因暂未知)
function valid(rs) {
    const ad = rs
    this.$refs[ad].validate(valid => {
        if (!valid) {
            this.$message.error('操作失败')
            return true
        }
        return false
    })
}


async function conf(...a) {
    const confirmResult = await this.$confirm('此操作将永久删除, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
    }).catch(err => err)
    if (confirmResult !== 'confirm') {
        this.$message.info('取消操作')
        return true
    }
    return false

}


export default {
    install(Vue) {
        // 在 Vue 原型上添加方法
        Vue.prototype.$hp = hp;
        Vue.prototype.$gethp = gethp
        Vue.prototype.$valid = valid
        Vue.prototype.$conf = conf
    }
};